home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Developer Essentials / MPW Interfaces & Libraries / PInterfaces / Palettes.p < prev    next >
Encoding:
Text File  |  1992-01-29  |  4.6 KB  |  153 lines  |  [TEXT/MPS ]

  1.  
  2. {
  3. Created: Monday, September 16, 1991 at 12:00 AM
  4.  Palettes.p
  5.  Pascal Interface to the Macintosh Libraries
  6.  
  7.   Copyright Apple Computer, Inc. 1987-1991
  8.   All rights reserved
  9. }
  10.  
  11.  
  12. {$IFC UNDEFINED UsingIncludes}
  13. {$SETC UsingIncludes := 0}
  14. {$ENDC}
  15.  
  16. {$IFC NOT UsingIncludes}
  17.  UNIT Palettes;
  18.  INTERFACE
  19. {$ENDC}
  20.  
  21. {$IFC UNDEFINED UsingPalettes}
  22. {$SETC UsingPalettes := 1}
  23.  
  24. {$I+}
  25. {$SETC PalettesIncludes := UsingIncludes}
  26. {$SETC UsingIncludes := 1}
  27. {$IFC UNDEFINED UsingQuickdraw}
  28. {$I $$Shell(PInterfaces)Quickdraw.p}
  29. {$ENDC}
  30. {$IFC UNDEFINED UsingWindows}
  31. {$I $$Shell(PInterfaces)Windows.p}
  32. {$ENDC}
  33. {$SETC UsingIncludes := PalettesIncludes}
  34.  
  35. CONST
  36. pmCourteous = 0;                            {Record use of color on each device touched.}
  37. pmTolerant = $0002;                            {render ciRGB if ciTolerance is exceeded by best match.}
  38. pmAnimated = $0004;                            {reserve an index on each device touched and render ciRGB.}
  39. pmExplicit = $0008;                            {no reserve, no render, no record; stuff index into port.}
  40.  
  41. pmWhite = $0010;
  42. pmBlack = $0020;
  43.  
  44. pmInhibitG2 = $0100;
  45. pmInhibitC2 = $0200;
  46. pmInhibitG4 = $0400;
  47. pmInhibitC4 = $0800;
  48. pmInhibitG8 = $1000;
  49. pmInhibitC8 = $2000;
  50.  
  51.  
  52. { NSetPalette Update Constants }
  53. pmNoUpdates = $8000;                        {no updates}
  54. pmBkUpdates = $A000;                        {background updates only}
  55. pmFgUpdates = $C000;                        {foreground updates only}
  56. pmAllUpdates = $E000;                        {all updates}
  57.  
  58. TYPE
  59. ColorInfo = RECORD
  60.  ciRGB: RGBColor;                            {true RGB values}
  61.  ciUsage: INTEGER;                            {color usage}
  62.  ciTolerance: INTEGER;                        {tolerance value}
  63.  ciDataFields: ARRAY [0..2] OF INTEGER;        {private fields}
  64.  END;
  65.  
  66. PalettePtr = ^Palette;
  67. PaletteHandle = ^PalettePtr;
  68. Palette = RECORD
  69.  pmEntries: INTEGER;                        {entries in pmTable}
  70.  pmDataFields: ARRAY [0..6] OF INTEGER;        {private fields}
  71.  pmInfo: ARRAY [0..0] OF ColorInfo;
  72.  END;
  73.  
  74.  
  75. PROCEDURE InitPalettes;
  76.  INLINE $AA90;
  77. FUNCTION NewPalette(entries: INTEGER;srcColors: CTabHandle;srcUsage: INTEGER;
  78.  srcTolerance: INTEGER): PaletteHandle;
  79.  INLINE $AA91;
  80. FUNCTION GetNewPalette(PaletteID: INTEGER): PaletteHandle;
  81.  INLINE $AA92;
  82. PROCEDURE DisposePalette(srcPalette: PaletteHandle);
  83.  INLINE $AA93;
  84. PROCEDURE ActivatePalette(srcWindow: WindowPtr);
  85.  INLINE $AA94;
  86. PROCEDURE SetPalette(dstWindow: WindowPtr;srcPalette: PaletteHandle;cUpdates: BOOLEAN);
  87.  INLINE $AA95;
  88. PROCEDURE NSetPalette(dstWindow: WindowPtr;srcPalette: PaletteHandle;nCUpdates: INTEGER);
  89.  INLINE $AA95;
  90. FUNCTION GetPalette(srcWindow: WindowPtr): PaletteHandle;
  91.  INLINE $AA96;
  92. PROCEDURE CopyPalette(srcPalette: PaletteHandle;dstPalette: PaletteHandle;
  93.  srcEntry: INTEGER;dstEntry: INTEGER;dstLength: INTEGER);
  94.  INLINE $AAA1;
  95. PROCEDURE PmForeColor(dstEntry: INTEGER);
  96.  INLINE $AA97;
  97. PROCEDURE PmBackColor(dstEntry: INTEGER);
  98.  INLINE $AA98;
  99. PROCEDURE AnimateEntry(dstWindow: WindowPtr;dstEntry: INTEGER;srcRGB: RGBColor);
  100.  INLINE $AA99;
  101. PROCEDURE AnimatePalette(dstWindow: WindowPtr;srcCTab: CTabHandle;srcIndex: INTEGER;
  102.  dstEntry: INTEGER;dstLength: INTEGER);
  103.  INLINE $AA9A;
  104. PROCEDURE GetEntryColor(srcPalette: PaletteHandle;srcEntry: INTEGER;VAR dstRGB: RGBColor);
  105.  INLINE $AA9B;
  106. PROCEDURE SetEntryColor(dstPalette: PaletteHandle;dstEntry: INTEGER;srcRGB: RGBColor);
  107.  INLINE $AA9C;
  108. PROCEDURE GetEntryUsage(srcPalette: PaletteHandle;srcEntry: INTEGER;VAR dstUsage: INTEGER;
  109.  VAR dstTolerance: INTEGER);
  110.  INLINE $AA9D;
  111. PROCEDURE SetEntryUsage(dstPalette: PaletteHandle;dstEntry: INTEGER;srcUsage: INTEGER;
  112.  srcTolerance: INTEGER);
  113.  INLINE $AA9E;
  114. PROCEDURE CTab2Palette(srcCTab: CTabHandle;dstPalette: PaletteHandle;srcUsage: INTEGER;
  115.  srcTolerance: INTEGER);
  116.  INLINE $AA9F;
  117. PROCEDURE Palette2CTab(srcPalette: PaletteHandle;dstCTab: CTabHandle);
  118.  INLINE $AAA0;
  119. FUNCTION Entry2Index(entry: INTEGER): LONGINT;
  120.  INLINE $7000,$AAA2;
  121. PROCEDURE RestoreDeviceClut(gd: GDHandle);
  122.  INLINE $7002,$AAA2;
  123. PROCEDURE ResizePalette(p: PaletteHandle;size: INTEGER);
  124.  INLINE $7003,$AAA2;
  125. PROCEDURE SaveFore(VAR c: ColorSpec);
  126.  INLINE $303C,$040D,$AAA2;
  127. PROCEDURE SaveBack(VAR c: ColorSpec);
  128.  INLINE $303C,$040E,$AAA2;
  129. PROCEDURE RestoreFore(c: ColorSpec);
  130.  INLINE $303C,$040F,$AAA2;
  131. PROCEDURE RestoreBack(c: ColorSpec);
  132.  INLINE $303C,$0410,$AAA2;
  133. FUNCTION SetDepth(gd: GDHandle;depth: INTEGER;whichFlags: INTEGER;flags: INTEGER): OSErr;
  134.  INLINE $303C,$0A13,$AAA2;
  135. FUNCTION HasDepth(gd: GDHandle;depth: INTEGER;whichFlags: INTEGER;flags: INTEGER): INTEGER;
  136.  INLINE $303C,$0A14,$AAA2;
  137. FUNCTION PMgrVersion: INTEGER;
  138.  INLINE $7015,$AAA2;
  139. PROCEDURE SetPaletteUpdates(p: PaletteHandle;updates: INTEGER);
  140.  INLINE $303C,$0616,$AAA2;
  141. FUNCTION GetPaletteUpdates(p: PaletteHandle): INTEGER;
  142.  INLINE $303C,$0417,$AAA2;
  143. FUNCTION GetGray(device: GDHandle;backGround: RGBColor;VAR foreGround: RGBColor): BOOLEAN;
  144.  INLINE $303C,$0C19,$AAA2;
  145.  
  146.  
  147. {$ENDC} { UsingPalettes }
  148.  
  149. {$IFC NOT UsingIncludes}
  150.  END.
  151. {$ENDC}
  152.  
  153.